H.264/Advanced Video Coding (AVC) is a video coding standard of the ITU-T Video Coding Experts Group and the ISO/IEC Moving Picture Experts Group. A goal of H.264/AVC is to enhance video compression performance. Comparing H.264/AVC to many existing video coding standards, a significant improvement in rate-distortion efficiency may be seen.
Generally, the coding of video in H.264/AVC involves the partitioning of an image into a number of 16×16 macro blocks (MB) with potentially different block partitions. A typical MB may be partitioned into a single 16×16 block, four 8×8 blocks, 16 4×4 blocks, and so forth. For an image, MB block sizes may be selected depending on the nature of the image. For example, in portions of the image with a lot of detail, smaller blocks may be selected, while for portions of the image with little detail, larger blocks may be selected.
In H.264/AVC, the coding of pixels within an MB may occur in an inter prediction mode or an intra prediction mode. In general, inter prediction mode uses a prediction model from one or more previously encoded video frames, while intra prediction mode uses previously encoded and reconstructed blocks from an image currently being coded.
The coding of pixels within an MB in the intra prediction mode may make use of an intra prediction value from pixels of neighboring blocks. As specified in the H.264/AVC video coding standard, an intra prediction value may be based on reconstructed pixel values (pixel values that are reconstructed from coded pixel values). The reconstructed pixel values may be subtracted from the block prior to the block being coded.
Unfortunately, the use of the reconstructed pixel values, which may help to achieve the significant improvement in rate-distortion efficiency, may require a large amount of computational power, since the encoder is required to dynamically recreate the reconstructed pixel values. Even if the computational power is available, the use of large amounts of computational power may increase the power consumption, which may shorten battery life, for example.